Entity Arrangement By Shape Input

ABSTRACT

In an embodiment of the present invention, a figure is received, where the figure is created by a user. One or more entities are received in the figure. In response to receiving the one or more entities in the figure, the one or more entities are arranged in the figure according to a protocol.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of computer programming, and more particularly to tools for manipulation of visual elements.

A user interface for a computer allows users to interact with electronic devices through graphical icons and visual indicators. A user can perform tasks by directly manipulating the graphical elements. Designing the visual composition and behavior of a user interface is an important part of software application programming in the area of human-computer interaction. A goal of a user interface is to enhance the efficiency and ease of use for the underlying logical design of a computer program. Users within various fields of computer science rely on the efficient functionality of a user interface. For example, text mining, in general, is the process of extracting quality information from text through tasks that include tasks include text categorization, text clustering, annotation/tagging, concept/entity extraction, production of granular taxonomies, document summarization, and entity relation modeling.

Current solutions for various text mining operations are typically cumbersome and ineffective. For example, user interface designs for text annotation operations for a document often display the text entities close together and in the same or similar arrangement as found in the document. This can cause some annotations of text entities to be close together or to overlap, preventing a user from efficient manipulation of the text entities and from effectively annotating the entities of the document. Additionally, user interface designs for text annotation operations often can not effectively display the entities being annotated while also displaying the underlying document, preventing a user from effectively organizing the entities for annotation operations.

SUMMARY

Embodiments of the present invention include a method, computer program product, and computer system for arranging entities by shape input. In an embodiment of the present invention, a figure is received, where the figure is created by a user. One or more entities are received in the figure. In response to receiving the one or more entities in the figure, the one or more entities are arranged in the figure according to a protocol. This embodiment provides the advantage of organizing entities of a document anywhere in the document that a user creates a figure, allowing for effective visualization of the entities being manipulated based on any shape created by the user as well as the remaining entities of the document, as opposed to displaying the entities being manipulated on top of, or overlapping, the remaining entities of the document.

In an embodiment of the present invention, a first entity is received in a figure. The first entity includes a first text content. A second entity is received in the figure. The second entity includes a second text content. A relatedness between the first text content and the second text content is determined. In response to receiving the second entity in the figure, the first entity and the second entity are arranged in the figure based on the relatedness. By displaying entities with similar text contents near one another, this embodiment provides the advantage of organizing entities of a document in a manner that allows for more efficient manipulation of the entities (e.g., annotation of the entities, which is a manipulation closely connected the text contents of the entities), as opposed to displaying the entities in the locations in which they are received from a user without further manipulation.

In an embodiment of the present invention, an organizational protocol is associated with each shape of multiple shapes based on dimensional features of each shape. In response to receiving an entity, an option to provide a shape of the multiple shapes is displayed. In response to receiving an indication to provide the shape of the multiple shapes, the shape is provided. In response to receiving the indication to provide the shape, the entity is arranged in the shape according to the organizational protocol associated with the shape. This embodiment provides the advantage of providing a user with an option to organize entities of a document anywhere in the document that a user creates a figure and based on a particular shape chosen by the user, allowing for effective visualization of the entities being manipulated according to the preference of the user as well as the remaining entities of the document, as opposed to displaying the entities being manipulated on top of, or overlapping, the remaining entities of the document.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram of a distributed data processing environment, in accordance with an embodiment of the present invention;

FIG. 2 is a flowchart of operational steps for grouping and arranging entities by manual shape input, in accordance with an embodiment of the present invention;

FIGS. 3A, 3B, and 3C are diagrams of example shapes and entity arrangements, in accordance with an embodiment of the present invention; and

FIG. 4 is a functional block diagram of components of the computing device of FIG. 1, in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention recognize that organization and manipulation of graphical elements of a computer user interface is a common and necessary task for many facets of computer science. Embodiments of the present invention recognize that current techniques for handling numerous entities are cumbersome and frustrating for users, for example as may occur when grouping several words of a text document together to assign the words a common tag or annotation. Embodiments of the present invention further recognize that current techniques for visually organizing entities become increasingly clumsy for users as a greater number of entities are being manipulated or otherwise perceived simultaneously.

Embodiments of the present invention provide techniques for grouping entities through manual shape input and arranging the grouped entities according to the relationships among the entities.

The present invention will now be described in detail with reference to the Figures. FIG. 1 is a functional block diagram of a computing environment, generally designated 100, in accordance with an embodiment of the present invention. FIG. 1 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Those skilled in the art may make many modifications to the depicted environment without departing from the scope of the invention as recited by the claims.

In the illustrated embodiment, distributed data processing environment 100 includes computing device 110 and server device 120. Computing device 110 and server device 120 are interconnected through network 102. In an embodiment, distributed data processing environment 100 may additionally include any other computing device connected to network 102.

In an embodiment, network 102 may be a local area network (LAN), a telecommunications network, a wide area network (WAN) such as the Internet, or any combination of the three, and can include wired, wireless, or fiber optic connections. In general, network 102 may be any combination of connections and protocols supports communications between computing device 110, server device 120, and any other computing device connected to network 102, in accordance with embodiments of the present invention.

In an embodiment, computing device 110 may generally be any electronic device or combination of electronic devices capable of executing computer readable program instructions. In example embodiments, computing device 110 may be a mobile phone, personal digital assistant, tablet computer, personal computer, or workstation. In an embodiment, computing device 110 may be a computer system utilizing clustered computers and components (e.g., database server devices, application server devices) that act as a single pool of seamless resources when accessed by elements of distributed data processing environment 100, such as in a cloud computing environment. Computing device 110 may include components as depicted and described with respect to FIG. 3.

In the illustrated embodiment, computing device 110 includes shape program 112 and user interface 114. In an alternative embodiment, shape program 112 and user interface 114 may be located on another networked computing device (not shown), and shape program 112 and user interface 114 may access and communicate with computing device 110 through network 102. In an embodiment, computing device 110 may include one or more entity sources (not shown) such as a document, and each entity sources contains one or more entities. In an embodiment, an entity is any visually-represented object capable of being manipulated independently of other objects, such as a word within a document.

In an embodiment, shape program 112 may be a computer program, application, or subprogram of a larger program that communicates with user interface 114 and shape information repository 122 for grouping and arranging entities by manual shape input. In an embodiment, functions for grouping and arranging entities include shape recognition (e.g., identification and quantification of geometric features of drawing input), search and retrieval of information stored in shape information repository 122, and identification of relationships among a group words, in accordance with embodiments of the present invention.

In an embodiment, user interface 114 is the information, such as graphic, text, and sound, that shape program 112 presents to a user and the control sequences the user employs to control and interact with shape program 112. In an embodiment, user interface 114 may be a graphical user interface (GUI) whereby user interface 114 allows a user to interact with electronic devices, such as a keyboard or a mouse, through graphical icons and visual indicators, such as secondary notations, as opposed to text-based interfaces, typed command labels, or text navigation. GUIs were introduced for computers in response to the perceived steep learning curve of command-line interfaces, which required commands to be typed on the keyboard. A user may perform an action in user interface 114 through direct manipulation of the graphical elements.

In an embodiment, server device 120 may generally be any electronic device or combination of electronic devices capable of executing computer readable program instructions. In example embodiments, server device 120 may be a workstation, personal computer, personal digital assistant, or mobile phone. In an embodiment, server device 120 may be a computer system utilizing clustered computers and components (e.g., database server devices, application server devices) that act as a single pool of seamless resources when accessed by elements of distributed data processing environment 100, such as in a cloud computing environment.

In the illustrated embodiment, server device 120 includes shape information repository 122. In an alternative embodiment, shape information repository 122 may be located on computing device 110. In yet another alternative embodiment, shape information repository 122 may be located on another computing device (not shown) connected to network 102.

In an embodiment, shape information repository 122 contains the shape information determined by shape program 112, in accordance with embodiments of the present invention. In an embodiment, shape information repository 122 separately stores shape information of each user of shape program 112. In an embodiment, shape information repository 122 additionally stores shape information of all users of shape program 112 in an aggregated manner. In an embodiment, the shape information includes including the number of continuous lines of a shape, the number and size (or magnitude) of angles of a shape, the colors of drawn pixels as compared to background pixels, the area of a shape, locational features of the drawing (e.g., the locations of axes), and the determined shape of a drawing. In an embodiment, shape information may include a conceptual dictionary, which may include a dictionary with word definitions, a thesaurus with word synonyms and antonyms, and other information regarding the relationships among words.

In an embodiment, shape information repository 122 may be implemented using any non-volatile storage media known in the art. For example, shape information repository 122 may be implemented with a tape library, optical library, one or more independent hard disk drives, or multiple hard disk drives in a redundant array of independent disks (RAID). Shape information repository 122 may be implemented using any suitable storage architecture known in the art. For example, shape information repository 122 may be implemented with a relational database or an object-oriented database.

FIG. 2 is a flowchart of workflow 200 illustrating operational steps for grouping and arranging entities by manual shape input. In the illustrated embodiment, the steps of workflow 200 is performed by shape program 112. In an alternative embodiment, the steps of workflow may be performed by any other computer program, or programs, while working with learning shape program 112. In an embodiment, shape program 112 begins performing the steps of workflow 200 in response to receiving an indication to provide functions for grouping and arranging entities of a document (not shown). In an embodiment, a user may provide the indication through user interface 114.

Shape program 112 receives a drawing and determines a shape (step 205). In other words, shape program 112 receives a drawing, and shape program 112 determines the shape that the drawing most closely depicts. In an embodiment, the drawing may be provided to shape program 112 by a user through user interface 114. In an embodiment, the drawing may be provided through touch (e.g., from a finger of the user, from a stylus tool, etc.) or through an input/output (I/O) device (e.g., a mouse).

In an embodiment, shape program 112 identifies shape information of the drawing. In an embodiment, shape information includes features of the drawing such as the number of continuous lines, the nature of the lines (e.g., curved line or straight line), the number and size of angles (i.e., corners), the colors of drawn pixels as compared to background pixels, the area of the drawing, and locational features of the drawing (e.g., relative locations of axes, edges, etc.). Shape program 112 associates the shape information with the shape determined for the drawing (following such determination by shape program 112) and stores the shape information and associated shape in shape information repository 122.

In an embodiment, shape program 112 determines the shape of the drawing by comparing the shape information of the drawing to shape information associated with previously determined shapes stored in shape information repository 122. The shape information of previously determined shapes may correspond to the current user of shape program 112 as well as all other users of shape program 112. In an embodiment, shape program 112 may identify shapes in shape information repository 122 that are associated with features that are identical or similar to features of the current drawing, and shape program 112 associates an identified shape with the drawing. For example, shape program 112 may identify shapes in shape information repository 122 that have the same number of angles as the drawing. As another example, shape program 112 may identify shapes in shape information repository 122 that have the same number of curved lines as the drawing. In an embodiment, shape program 112 determines that the shape of the drawing is a rectangle, triangle, or circle. In an embodiment, shape program 112 determines that the shape is a free-form shape where shape program 112 determines that the drawing does not closely depict a rectangle, triangle, or circle.

Shape program 112 receives and arranges an entity in the shape (step 210). In other words, shape program 112 receives an entity (target entity) to be placed in the shape (i.e., the drawing), and shape program 112 places the target entity in the shape according to an arrangement. In an embodiment, shape program 112 receives the target entity upon the target entity being moved (i.e., thrown, dragged and dropped, etc.) from a document to the inner area of the shape by a user through user interface 114.

In an embodiment, shape program 112 determines shape information of the target entity, and shape program 112 stores the shape information in shape information repository 122. In an embodiment, shape information of the target entity includes the area, dimensional information (e.g., height and width), locational features (e.g., relative locations of axes, edges (i.e., outer lines), etc.), and text information associated with the target entity (e.g., the words displayed with the target entity).

In an embodiment, an arrangement, in general, is any organizational structure or pattern in which entities in a common shape are displayed by shape program 112. In an embodiment, the arrangement according to which shape program 112 places the target entity depends on the type of shape in which the target entity is received (i.e., rectangle, triangle, circle, free-form, etc.).

In an embodiment, where the shape is a rectangle, shape program 112 places the target entity in a row-based arrangement. If there is no other entity currently placed in the rectangle shape, shape program 112 places the target entity at the top left corner of the shape. If there is at least one other entity currently placed in the shape, shape program 112 determines the dimensions between the right edge of the last-placed entity and the right edge of the shape and compares the dimensions to the dimensions of the target entity. If shape program 112 determines that the target entity fits, shape program 112 places the target entity between the right edge of the last-placed entity and the right edge of the shape. If shape program 112 determines that the target entity does not fit, shape program 112 places the target entity at the left edge of the shape and immediately below the last-placed row of entities. In an embodiment, shape program 112 may determine shape and target entity dimensions by utilizing shape information (e.g., heights, widths, areas, location of axes, etc.) in shape information repository 122.

In an embodiment, where the shape is a triangle, shape program 112 places the target entity in a row-based arrangement. If there is no other entity currently placed in the triangle shape, shape program 112 places the target entity at the top corner of the shape. If there is at least one other entity currently placed in the shape, shape program 112 determines the dimensions between the right edge of the last-placed entity and the right edge of the shape and compares the dimensions to the dimensions of the target entity. If shape program 112 determines that the target entity fits, shape program 112 places the target entity between the right edge of the last-placed entity and the right edge of the shape. If shape program 112 determines that the target entity does not fit, shape program 112 places the target entity at the left edge of the shape and immediately below the last-placed row of entities. In an embodiment, shape program 112 may determine shape and target entity dimensions by utilizing shape information (e.g., heights, widths, areas, location of axes, etc.) in shape information repository 122.

In an embodiment, where the shape is a circle, shape program 112 places the target entity in a circular arrangement. If there is no other entity currently placed in the triangle shape, shape program 112 places the target entity at the center of the shape. If there is at least one other entity currently placed in the shape, shape program 112 places the target entity at the point on the edge of the shape that is closest to the point to which the target entity was moved (i.e., thrown, dropped) by the user. If shape program 112 determines that there is another entity currently placed at that point, then shape program 112 places the target entity at the next closest, available point on the edge of the shape. In an embodiment, shape program 112 may determine shape and target entity dimensions by utilizing shape information (e.g., heights, widths, areas, location of axes, etc.) in shape information repository 122.

In an embodiment, where the shape is a free-form shape, shape program 112 may place the target entity in any of the previously discussed arrangements. For example, shape program 112 may provide arrangement options for arranging the entity, and a user, through the user interface of shape program 112, may indicate the arrangement to be used. In an alternative embodiment, where the shape is a free-form shape, shape program 112 may leave the entity placed at the same location at which the target entity was received in the shape.

Shape program 112 determines the suitability of the shape (step 215). In other words, in an embodiment, shape program 112 determines if the determined shape (e.g., a rectangle, triangle, circle, etc.) is suitable for displaying the current set of entities. In an embodiment, where shape program 112 determines that a different shape is more suitable, shape program 112 provides a suggestion to change the shape accordingly, or, alternatively, shape program 112 automatically changes the shape and re-arranges the entities accordingly.

In an embodiment, shape program 112 may determine suitability of the shape based on the text information of the current set of entities. For example, in an embodiment, shape program 112 may searching shape information in shape information repository 122 for the text information of current set of entities (e.g., the word of each entity) and determining if a different shape is more frequently utilized for the current set, or a similar set, of entities.

In an embodiment, shape program 112 may change the shape in response to receiving a subsequent drawing that encloses the current shape. In this case, shape program 112 changes the shape to the new drawing and, after determining the shape of the new drawing (see step 205), re-arranges the entities according to the arrangement associated with the determined new shape. For example, if the current shape is a circle, and a rectangle is subsequently drawn such that the rectangle encloses the circle, shape program 112 will change the utilized shape from the circle to the rectangle and will place the entities in a row-based arrangement.

Shape program 112 determines the suitability of the arrangement (step 220). In other words, shape program 112 determines if a different arrangement of the entities is more suitable for the current set of entities. In an embodiment, where shape program 112 determines that a different arrangement is more suitable, shape program 112 provides a suggestion to re-arrange the entities accordingly, or, alternatively, shape program 112 automatically re-arranges the entities accordingly.

In an embodiment, where the shape is a rectangle, a more suitable arrangement may be arranging the words of the entities in alphabetical order or in order of similarity of meanings. For example, words with more similar meanings are placed closer to each other than are words with less similar meanings.

In an embodiment, where the shape is a triangle, a more suitable arrangement may be arranging the words of the entities such that the word that is related to all of the other words, or is related to more words than any other single word, is placed at the top corner of the triangle and the word that is related to the fewest other words is placed at the lowest row in the farthest right position.

In an embodiment, where the shape is a circle, a more suitable arrangement may be arranging the words of the entities such that the word that is related to all of the other words, or is related to more words than any other single word, is placed at the center of the circle.

In an embodiment, to determine the similarity of meanings of words and the relatedness of words, shape program 112 may utilize a conceptual dictionary (not shown), which may include a dictionary with definitions, a thesaurus with synonyms and antonyms, and other information regarding the relationships among words.

FIGS. 3A, 3B, and 3C depict rectangle shape 300, triangle shape 310, and circle shape 320, respectively, which illustrate examples of shape drawings and entity arrangements.

Rectangle shape 300 is an example of a drawing that is determined by shape program 112 to be a rectangle. The entities in rectangle shape 300 are placed in a row-based arrangement (as discussed in step 210) and are further organized according to the similarity of the meanings of the text content in each entity (as discussed in step 220). For example, since birds are animals and live in trees, and birds have no close relation to wheat or farms, the entity with the word “birds” is placed between the entities with the terms “tree” and “animal” while being placed far from the entity with the term “wheat”.

Triangle shape 310 is an example of a drawing that is determined by shape program 112 to be a triangle. The entities in triangle shape 310 are placed in a row-based arrangement (as discussed in step 210) and are further organized according to the relatedness of the meanings of the text content in each entity (as discussed in step 220). For example, since a clock is closely related to the terms in every other entity in the shape, the entity with “clock” is placed at the top of the triangle. Similarly, since numbers are only closely related to one other term (i.e., “clock”), it is placed at the bottom of the triangle.

Circle shape 320 is an example of a drawing that is determined by shape program 112 to be a circle. The entities in circle shape 320 are placed in a circular arrangement (as discussed in step 210) and are further organized according to the relatedness of the meanings of the text content in each entity (as discussed in step 220). For example, since a clock is related to the terms in every other entity, the entity with “clock” is placed in the middle of the circle with all other terms surrounding that entity.

FIG. 4 depicts computing system 400, which illustrates components of computing device 110 including shape program 112. Computing system 400 includes processor(s) 401, cache 403, memory 402, persistent storage 405, communications unit 407, I/O interface(s) 406, and communications fabric 404. Communications fabric 404 provides communications between cache 403, memory 402, persistent storage 405, communications unit 407, and I/O interface(s) 406. Communications fabric 404 can be implemented with any architecture designed for passing data and/or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components within a system. For example, communications fabric 404 may be implemented with one or more buses or a crossbar switch.

Memory 402 and persistent storage 405 are computer readable storage media. In an embodiment, memory 402 includes random access memory (RAM) (not shown). In general, memory 402 may include any suitable volatile or non-volatile computer readable storage media. Cache 403 is a fast memory that enhances the performance of processors 401 by holding recently accessed data, and data near recently accessed data, from memory 402.

Program instructions and data used to practice embodiments of the present invention may be stored in persistent storage 405 and in memory 402 for execution by one or more of the respective processors 401 via cache 403. In an embodiment, persistent storage 405 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 405 may include a solid state hard drive, a semiconductor storage device, read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer readable storage media that is capable of storing program instructions or digital information.

The media used by persistent storage 405 may also be removable. For example, a removable hard drive may be used for persistent storage 405. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer onto another computer readable storage medium that is also part of persistent storage 405.

Communications unit 407, in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit 407 includes one or more network interface cards. Communications unit 407 may provide communications through the use of either or both physical and wireless communications links. Program instructions and data used to practice embodiments of the present invention may be downloaded to persistent storage 405 through communications unit 407.

I/O interface(s) 406 allows for input and output of data with other devices that may be connected to each computer system. For example, I/O interface 406 may provide a connection to external devices 408 such as a keyboard, keypad, a touch screen, and/or some other suitable input device. External devices 408 can also include portable computer readable storage media such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention can be stored on such portable computer readable storage media and can be loaded onto persistent storage 405 through I/O interface(s) 406. I/O interface(s) 406 also connect to display 409.

Display 409 provides a mechanism to display data to a user and may be, for example, a computer monitor.

The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Modifications and variations of the presented embodiments will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The terminology used herein was chosen to best explain the principles of the embodiment, to best explain the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.

Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.

These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The terminology used herein was chosen to best explain the principles of the embodiment, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. 

What is claimed is:
 1. A method for arranging entities by shape input, the method comprising: receiving, by one or more computer processors, a first figure, wherein the first figure is created by a user; receiving, by one or more computer processors, one or more first entities in the first figure; and responsive to receiving the one or more first entities in the first figure, arranging, by one or more computer processors, the one or more first entities in the first figure according to a first protocol.
 2. The method of claim 1, further comprising: receiving, by one or more computer processors, a second figure, wherein the second figure is created by the user, and wherein an outer boundary of the second figure surrounds an outer boundary of the first figure; and responsive to receiving the second figure, arranging, by one or more computer processors, the one or more first entities in the second figure according to a second protocol.
 3. The method of claim 1, further comprising: receiving, by one or more computer processors, one or more second entities in the first figure; and responsive to receiving the one or more second entities in the first figure, arranging, by one or more computer processors, the one or more first entities and the one or more second entities in the first figure according to the first protocol and based on one or more of the following: a previous arrangement of the one or more first entities and the one or more second entities for the user, and a previous arrangement of the one or more first entities and the one or more second entities for at least one second user.
 4. The method of claim 3, wherein responsive to receiving the one or more second entities in the first figure, arranging the one or more first entities and the one or more second entities comprises: responsive to receiving the one or more second entities, displaying, by one or more computer processors, to the user an option to arrange the one or more first entities and the one or more second entities in the first figure according to the first protocol based on one or more of the following: a previous arrangement of the one or more first entities and the one or more second entities for the user, and a previous arrangement of the one or more first entities and the one or more second entities for at least one second user; and responsive to receiving an indication from the user to arrange the entity and the one or more second entities, arranging, by one or more computer processors, the entity and the one or more second entities.
 5. The method of claim 1, wherein responsive to receiving one or more first entities, arranging the one or more first entities in the first figure according to a first protocol comprises: associating, by one or more computer processors, a protocol with each shape of a plurality of shapes; associating, by one or more computer processors, a shape of the plurality of shapes with the first figure; and responsive to receiving the one or more first entities in the first figure, arranging, by one or more computer processors, the one or more first entities in the first figure according to the protocol associated with the shape associated with the first figure.
 6. The method of claim 5, wherein associating a shape of the plurality of shapes with the first figure comprises: determining, by one or more computer processors, a dimensional features of each shape of the plurality of shapes; determining, by one or more computer processors, a dimensional features of the first figure; and associating, by one or more computer processors, a shape of the plurality of shapes with the first figure, wherein the dimensional features of the first figure are more similar to the dimensional features of the shape than to the dimensional features of each remaining shape of the plurality of shapes.
 7. The method of claim 5, wherein the plurality of shapes include: a rectangle, a triangle, and a circle.
 8. A computer program product for arranging entities by shape input, the computer program product comprising: one or more computer readable storage media; and program instructions stored on the one or more computer readable storage media, the program instructions comprising: program instructions to receive a first figure, wherein the first figure is created by a user; program instructions to receive one or more first entities in the first figure; and program instructions to, responsive to receiving the one or more first entities in the first figure, arrange the one or more first entities in the first figure according to a first protocol.
 9. The computer program product of claim 8, further comprising program instructions, stored on the one or more computer readable storage media, to: receive a second figure, wherein the second figure is created by the user, and wherein an outer boundary of the second figure surrounds an outer boundary of the first figure; and responsive to receiving the second figure, arrange the one or more first entities in the second figure according to a second protocol.
 10. The computer program product of claim 8, further comprising program instructions, stored on the one or more computer readable storage media, to: receive one or more second entities in the first figure; and responsive to receiving the one or more second entities in the first figure, arrange the one or more first entities and the one or more second entities in the first figure according to the first protocol and based on one or more of the following: a previous arrangement of the one or more first entities and the one or more second entities for the user, and a previous arrangement of the one or more first entities and the one or more second entities for at least one second user.
 11. The computer program product of claim 10, wherein the program instructions to, responsive to receiving the one or more second entities in the first figure, arrange the one or more first entities and the one or more second entities comprise: program instructions to, responsive to receiving the one or more second entities, display to the user an option to arrange the one or more first entities and the one or more second entities in the first figure according to the first protocol based on one or more of the following: a previous arrangement of the one or more first entities and the one or more second entities for the user, and a previous arrangement of the one or more first entities and the one or more second entities for at least one second user; and program instructions to, responsive to receiving an indication from the user to arrange the entity and the one or more second entities, arrange the entity and the one or more second entities.
 12. The computer program product of claim 8, wherein the program instructions to, responsive to receiving one or more first entities, arrange the one or more first entities in the first figure according to a first protocol comprise: program instructions to associate a protocol with each shape of a plurality of shapes; program instructions to associate a shape of the plurality of shapes with the first figure; and program instructions to, responsive to receiving the one or more first entities in the first figure, arrange the one or more first entities in the first figure according to the protocol associated with the shape associated with the first figure.
 13. The computer program product of claim 12, wherein the program instructions to associate a shape of the plurality of shapes with the first figure comprise: program instructions to determine a dimensional features of each shape of the plurality of shapes; program instructions to determine a dimensional features of the first figure; and program instructions to associate a shape of the plurality of shapes with the first figure, wherein the dimensional features of the first figure are more similar to the dimensional features of the shape than to the dimensional features of each remaining shape of the plurality of shapes.
 14. The computer program product of claim 12, wherein the plurality of shapes include: a rectangle, a triangle, and a circle.
 15. A computer system for arranging entities by shape input, the computer system comprising: one or more computer processors; one or more computer readable storage media; and program instructions, stored on the one or more computer readable storage media, for execution by at least one of the one or more computer processors, the program instructions comprising: program instructions to receive a first figure, wherein the first figure is created by a user; program instructions to receive one or more first entities in the first figure; and program instructions to, responsive to receiving the one or more first entities in the first figure, arrange the one or more first entities in the first figure according to a first protocol.
 16. The computer system of claim 15, further comprising program instructions, stored on the one or more computer readable storage media for execution by the at least one of the one or more computer processors, to: receive a second figure, wherein the second figure is created by the user, and wherein an outer boundary of the second figure surrounds an outer boundary of the first figure; and responsive to receiving the second figure, arrange the one or more first entities in the second figure according to a second protocol.
 17. The computer system of claim 15, further comprising program instructions, stored on the one or more computer readable storage media for execution by the at least one of the one or more computer processors, to: receive one or more second entities in the first figure; and responsive to receiving the one or more second entities in the first figure, arrange the one or more first entities and the one or more second entities in the first figure according to the first protocol and based on one or more of the following: a previous arrangement of the one or more first entities and the one or more second entities for the user, and a previous arrangement of the one or more first entities and the one or more second entities for at least one second user.
 18. The computer system of claim 17, wherein the program instructions to, responsive to receiving the one or more second entities in the first figure, arrange the one or more first entities and the one or more second entities comprise: program instructions to, responsive to receiving the one or more second entities, display to the user an option to arrange the one or more first entities and the one or more second entities in the first figure according to the first protocol based on one or more of the following: a previous arrangement of the one or more first entities and the one or more second entities for the user, and a previous arrangement of the one or more first entities and the one or more second entities for at least one second user; and program instructions to, responsive to receiving an indication from the user to arrange the entity and the one or more second entities, arrange the entity and the one or more second entities.
 19. The computer system of claim 15, wherein the program instructions to, responsive to receiving one or more first entities, arrange the one or more first entities in the first figure according to a first protocol comprise: program instructions to associate a protocol with each shape of a plurality of shapes; program instructions to associate a shape of the plurality of shapes with the first figure; and program instructions to, responsive to receiving the one or more first entities in the first figure, arrange the one or more first entities in the first figure according to the protocol associated with the shape associated with the first figure.
 20. The computer system of claim 19, wherein the program instructions to associate a shape of the plurality of shapes with the first figure comprise: program instructions to determine a dimensional features of each shape of the plurality of shapes; program instructions to determine a dimensional features of the first figure; and program instructions to associate a shape of the plurality of shapes with the first figure, wherein the dimensional features of the first figure are more similar to the dimensional features of the shape than to the dimensional features of each remaining shape of the plurality of shapes.
 21. The computer system of claim 19, wherein the plurality of shapes include: a rectangle, a triangle, and a circle.
 22. A method for arranging entities by shape input, the method comprising: receiving, by one or more computer processors, an entity in a figure, wherein the entity includes a text content; receiving, by one or more computer processors, a second entity in the figure, wherein the second entity includes a second text content; determining, by one or more computer processors, a relatedness between the text content and the second text content; and responsive to receiving the second entity in the figure, arranging, by one or more computer processors, the entity and the second entity in the figure based on the relatedness.
 23. The method of claim 22, wherein the relatedness includes one or more of the following: a similarity of a definition of the text content and a definition of the second text content, and a similarity of a synonym of the text content and a synonym of the second text content.
 24. A method for arranging entities by shape input, the method comprising: associating, by one or more computer processors, an organizational protocol with each shape of a plurality of shapes based on a dimensional features of each shape; responsive to receiving an entity, displaying, by one or more computer processors, an option to provide a shape of the plurality of shapes; responsive to receiving an indication to provide the shape of the plurality of shapes, providing, by one or more computer processors, the shape; and responsive to receiving the indication to provide the shape, arranging, by one or more computer processors, the entity in the shape according to the organizational protocol associated with the shape.
 25. The method of claim 24, wherein the dimensional features of each shape include one or more of the following: an area of the each shape, a number of lines of the each shape, a straight or curved nature of each line of the each shape, a number of angles of the each shape, a size of each angle of the each shape, and a relative location of the each line or the each angle of the each shape. 